package engine.graphics.shader
{
	import engine.loaders.*;
	import flash.display3D.*;
	import flash.utils.*;
	
	public class RxShaderBase
	{
		protected var m_microcode:ByteArray;
		protected var m_constDefs:RxShaderConstDefs;
		protected var m_regUsage:uint;
		protected var m_onCompleteFunc:Function;
		protected var m_onErrorFunc:Function;
		public static const REG_ATTRIB0:uint = 1;
		public static const REG_ATTRIB1:uint = 2;
		public static const REG_ATTRIB2:uint = 4;
		public static const REG_ATTRIB3:uint = 8;
		public static const REG_ATTRIB4:uint = 16;
		public static const REG_ATTRIB5:uint = 32;
		public static const REG_ATTRIB6:uint = 64;
		public static const REG_ATTRIB7:uint = 128;
		public static const REG_VARYING0:uint = 256;
		public static const REG_VARYING1:uint = 512;
		public static const REG_VARYING2:uint = 1024;
		public static const REG_VARYING3:uint = 2048;
		public static const REG_VARYING4:uint = 4096;
		public static const REG_VARYING5:uint = 8192;
		public static const REG_VARYING6:uint = 16384;
		public static const REG_VARYING7:uint = 32768;
		public static const REG_SAMPLER0:uint = 65536;
		public static const REG_SAMPLER1:uint = 131072;
		public static const REG_SAMPLER2:uint = 262144;
		public static const REG_SAMPLER3:uint = 524288;
		public static const REG_SAMPLER4:uint = 1048576;
		public static const REG_SAMPLER5:uint = 2097152;
		public static const REG_SAMPLER6:uint = 4194304;
		public static const REG_SAMPLER7:uint = 8388608;
		
		public function RxShaderBase()
		{
			this.m_microcode = null;
			this.m_constDefs = null;
			this.m_regUsage = 0;
		}
		
		public function Compile(param1:String, param2:Boolean = false) : Boolean
		{
			return false;
		}
		
		public function GetMicrocode() : ByteArray
		{
			return this.m_microcode;
		}
	}
}